﻿using Abp.Application.Services.Dto;
using ARchGL.Platform.Dto;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;

namespace ARchGL.Platform.Dtos
{
    /// <summary>
    /// 公告信息 InputModel
    /// </summary>
    public class CreateNoticesInput : EntityDto<Guid>
    {
        /// <summary>
        /// 标题
        /// </summary>
        public string Title { get; set; }
        /// <summary>
        /// 正文
        /// </summary>
        public string Content { get; set; }
        /// <summary>
        /// 类型：1公告（这个位置固定不要改）、2系统通知、3巡检通知、4自检通知、5系统消息
        /// </summary>
        public int Type { get; set; }
        /// <summary>
        /// 状态：1显示、2隐藏
        /// </summary>
        [Range(1, 2, ErrorMessage = "显示状态不能为空，请重新输入")]
        public int Status { get; set; }
        /// <summary>
        /// 部门标识（公告针对部门下的所有人）
        /// </summary>
        //[Range(1, long.MaxValue, ErrorMessage = "部门不能为空，请重新输入")]
        public long OrganizationUnitId { get; set; }
        /// <summary>
        /// 部门标识集合
        /// </summary>
        public List<long> OrganizationUnitIdList { get; set; }
        /// <summary>
        /// 推送所有用户
        /// </summary>
        public bool IsAll { get; set; }
    }

    /// <summary>
    /// 向指定用户发送通知 InputModel
    /// </summary>
    public class SendNoticesToUsersInput : EntityDto<Guid>
    {
        /// <summary>
        /// 标题
        /// </summary>
        public string Title { get; set; }
        /// <summary>
        /// 正文
        /// </summary>
        public string Content { get; set; }
        /// <summary>
        /// 类型：1通知、2公告、3新闻、4系统消息
        /// </summary>
        public int Type { get; set; }
        /// <summary>
        /// 用户标识集合
        /// </summary>
        public List<long> UserIdList { get; set; }
    }
}
